package com.thinkit.bigdata.core.util;


import com.thinkit.bigdata.web.model.bus.BusWktVoice;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * Created by dell on 2016/8/10.
 */
public class TaskUtil {

    public static List<List<BusWktVoice>> ControlPaginationString(List<BusWktVoice> list) {
        int pageSize = 500;//每页一共的条数
        List<List<BusWktVoice>> listArray = new ArrayList<>();// 创建list数组,用来保存分割后的list
        int page = (list.size() + (pageSize - 1)) / pageSize;// 页数
        for (int i = 0; i < page; i++) { // 按照数组大小遍历
            List<BusWktVoice> subList = new ArrayList<>(); // 数组每一位放入一个分割后的list
            for (int j = 0; j < list.size(); j++) {// 遍历待分割的list
                int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;// 当前记录的页码(第几页)
                if (pageIndex == (i + 1)) {// 当前记录的页码等于要放入的页码时
                    subList.add(list.get(j)); // 放入list中的元素到分割后的list(subList)
                }
                if ((j + 1) == ((j + 1) * pageSize)) {// 当放满一页时退出当前循环
                    break;
                }
            }
            listArray.add(subList);// 将分割后的list放入对应的数组的位中
        }

        return listArray;
    }

    public static List<Integer> formatSum(Integer sum, int pageSize) {
        List<Integer> pageNum = new ArrayList<>();
        int size = sum / pageSize;
        for (int i = 0; i < size; i++) {
            pageNum.add(pageSize*i);
        }

        if (sum % pageSize != 0) {
            pageNum.add(pageNum.size()*pageSize);
        }
        return pageNum;
    }
}
